// 问题一
let foo = {};

// console.log(foo.name()); // 在运行是才报错

// 在异步代码中会产生隐患
// setTimeout(() => {
//   foo.name();
// }, 100000);

//==================
// 问题二
function add(num1, num2) {
  return num1 + num2;
}

console.log(add(1, 2)); // 2
console.log(add(1, "2")); //12

// 这种虽然可以通过 多人约定商量进行避免 ，但在语言承面上还是欠缺，当项目庞大的时候，协同人员太多时，往往会出现一系列的麻烦

//==================
// 问题三

obj = {};

obj[true] = 1; // 做了隐士转换

console.log(obj["true"]); // 也可以得到1
